1. Field of the Invention
The present invention relates to a shaping device and router device for controlling bandwidth of a packet flowing on a network.
2. Description of the Related Art
In the packet-based communications scheme used on an IP network, a large number of users can co-use the same line. This feature makes it possible to lower the per-bandwidth cost. On account of this low-cost property of the packet-based communications scheme, there has been a growing trend that telephone network and business network of each enterprise be implemented using the IP network. Here, conventionally, these telephone networks and business networks have been implemented using a network which is specifically designed therefor. On account of this trend, the IP network is now required to ensure the communications quality for voice data or mission critical data, which has been implemented using the specifically-designed network.
The ensuring of the communications quality requires that packet repeater devices which constitute the IP network be equipped with a communications-quality control function for ensuring the communications quality of the voice data or mission critical data. In regards to the communications-quality control function, there has been known, e.g., a shaping function. In JP-A-6-315034, the disclosure has been made concerning a shaping device for executing the shaping function. The shaping device disclosed in the present document is equipped with a queue for accumulating cells, i.e., fixed-length packets, for each connection (VC (Virtual Connection)). The shaping device transmits the packets from the queue with bandwidths set in advance for each VC, thereby ensuring the bandwidths for each VC. For example, a manager of the IP network locates the shaping device, to which the present technology is applied, on a line onto which traffic is concentrated, thereby allocating the VCs to the voice data or mission critical data. This allocation allows the manager to ensure the communications quality for the present data.
As for another shaping device, there has been known a shaping device based on a WFQ (Weighted Fair Queuing) scheme. In S. Golestani, “A Self-Clocked Fair Queuing Scheme for Broadband Applications”, In proc. of INFOCOM' 94, pp. 636-646, 1994, the description has been given concerning a WFQ shaping device which is based on an algorithm referred to as “SCFQ (Self-Clocked Fair Queuing)”. The shaping device described in the present document manages a plurality of sessions k (=1—N), and is equipped with a weight Wk for each session k. When an i-th packet p_k_i arrives at the shaping device, the shaping device accumulates this arrival packet p_k_i into the queue. Simultaneously, based on the Expression given below, the shaping device calculates a variable F_k_i for each packet p_k_i as follows:F—k—i=L—k—i/Wk+max(F—k_(i−1),V(ta—k—i)).
Here, L_k_i denotes packet length of the packet p_k_ta_k_i denotes arrival point-in-time of the packet p_k_i, and V (t) denotes a function for returning the value of F_k_i of a packet outputted at a point-in-time t. At the packet-outputting time, the shaping device outputs a packet p_k_i having the minimum F_k_i, thereby implementing the packet output which is proportional to the weight Wk for each session k. For example, the manager of the IP network allocates one session k to the voice data or mission critical data, thereby ensuring a bandwidth by the amount of Wk/(total of Wk)×line bandwidth. This allocation allows the manager to ensure the communications quality for the present data.
Meanwhile, there has been increasing use of IP multicast communication in order to implement contents delivery whose targets are set for a plurality of recipients on the IP network. The IP multicast communication is a communication scheme suitable for delivering the same data to a plurality of clients. In the case of using the unicast communication, i.e., a one-to-one communication, a server must transmit data repeatedly according to the number of clients. In contrast thereto, in the IP multicast communication, a packet transmitted from a server is copied at a node existing halfway to the clients. Accordingly, it is enough to send just one packet from the server to the node. This feature allows effective utilization of network resources existing between the server and the node.
In the IP multicast communication, a client that wishes to receive data (i.e., packet) transmits a join message to a router existing upstream. The join message is a message for requesting to join into a group of clients that are qualified to receive the data. As specifications for the join message, there exist ones such as, e.g., IGMPv3 (Internet Group Management Protocol, Version 3) described in “IETF REC3376, Internet Group Management Protocol, Version 3”, and MLDv2 (Multicast Listener Discovery, Version 2) described in “IETF REC3810, Multicast Listener Discovery, Version 2 (MLDv2) for IPv6”. Multicast IP addresses for storing the group that the client is to join are described in the join message. Having received the join message, the router memorizes networks attaining to the clients and the multicast IP addresses within the message in a manner corresponding to each other. Having inputted a multicast packet therein, the router extracts the multicast IP address described in a destination IP address field of the packet header. Then, the router copies and transfers the data (i.e., packet) to the network corresponding to the multicast IP address.
Meanwhile, when halting the data reception, the client transmits a leave message to the router.
Concerning leave messages of IGMPv3 and MLDv2, the description has been given in the above-described “IETF REC3376, Internet Group Management Protocol, Version 3”, and “IETF REC3810, Multicast Listener Discovery, Version 2 (MLDv2) for IPv6”. The multicast IP addresses for storing the group that the client is to leave are described in the leave message. The router releases the correspondence relationship established between the multicast IP address within the message and the network attaining to the client, thereby halting the copy of the data (i.e., packet).
The packet copied onto the respective networks by the router is transferred to the clients via a switch. The switch that has received the packet, based on its broadcast function, transmits the multicast packet to all of the lines belonging to the networks. A client that has joined the group qualified to receive the packet receives the present packet; whereas a client that has not joined the group discards the packet.
In the multicast delivery using the broadcast function, there exists the following problem: A packet is transferred to a client that need not receive the packet, and thus the bandwidth of the corresponding network is consumed wastefully. As a method for solving the present problem, there exists the IGMP snooping described in “Multicast in a Campus Network: CGMP and IGMP Snooping”. In “Multicast in a Campus Network: CGMP and IGMP Snooping”, the description has been given as follows: When the switch receives an IGMP join message into a certain group, the switch adds a line attaining to a client that has received the message to an address list of the group. Accordingly, it turns out that, when the switch receives a packet addressed to the group, the switch transfers the packet onto only the lines described in the address list. This selective packet output performed by the switch prevents the packet copy onto a line on which no client exists.